<h1 id="fuser">fuser</h1>
<p>使用文件或文件结构识别进程</p>
<h2 id="补充说明">补充说明</h2>
<p><strong>fuser命令</strong> 用于报告进程使用的文件和网络套接字。fuser命令列出了本地进程的进程号，那些本地进程使用file，参数指定的本地或远程文件。对于阻塞特别设备，此命令列出了使用该设备上任何文件的进程。</p>
<p>每个进程号后面都跟随一个字母，该字母指示进程如何使用文件。</p>
<ul>
<li>c：指示进程的工作目录。</li>
<li>e：指示该文件为进程的可执行文件(即进程由该文件拉起)。</li>
<li>f：指示该文件被进程打开，默认情况下f字符不显示。</li>
<li>F：指示该文件被进程打开进行写入，默认情况下F字符不显示。</li>
<li>r：指示该目录为进程的根目录。</li>
<li>m：指示进程使用该文件进行内存映射，抑或该文件为共享库文件，被进程映射进内存。</li>
</ul>
<h3 id="语法">语法</h3>
<pre><code class="language-bash">fuser(选项)(参数)</code></pre>
<h3 id="选项">选项</h3>
<pre><code class="language-bash">-a：显示命令行中指定的所有文件；
-k：杀死访问指定文件的所有进程；
-i：杀死进程前需要用户进行确认；
-l：列出所有已知信号名；
-m：指定一个被加载的文件系统或一个被加载的块设备；
-n：选择不同的名称空间；
-u：在每个进程后显示所属的用户名。</code></pre>
<h3 id="参数">参数</h3>
<p>文件：可以是文件名或者TCP、UDP端口号。</p>
<h3 id="实例">实例</h3>
<p>要列出使用<code>/etc/passwd</code>文件的本地进程的进程号，请输入：</p>
<pre><code class="language-bash">fuser /etc/passwd</code></pre>
<p>要列出使用<code>/etc/filesystems</code>文件的进程的进程号和用户登录名，请输入：</p>
<pre><code class="language-bash">fuser -u /etc/filesystems</code></pre>
<p>要终止使用给定文件系统的所有进程，请输入：</p>
<pre><code class="language-bash">fuser -k -x -u -c /dev/hd1  或者  fuser -kxuc /home</code></pre>
<p>任一命令都列出了进程号和用户名，然后终止每个正在使用<code>/dev/hd1 (/home)</code>文件系统的进程。仅有root用户能终止属于另一用户的进程。如果您正在试图卸下<code>/dev/hd1</code>文件系统，而一个正在访问<code>/dev/hd1</code>文件系统的进程不允许这样，您可能希望使用此命令。</p>
<p>要列出正在使用已从给定文件系统删除的文件的全部进程，请输入：</p>
<pre><code class="language-bash">fuser -d /usr文件</code></pre>
<p><code>/dev/kmem</code> 用于系统映像。<br />
<code>/dev/mem</code>  也用于系统映像。</p>
<!-- Linux命令行搜索引擎：https://jaywcjlove.github.io/linux-command/ -->
